// default package
// Generated 28 Jul, 2014 8:04:07 PM by Hibernate Tools 3.4.0.CR1
package com.galaxy.bean;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

/**
 * EavAttribute generated by hbm2java
 */
@Entity
@Table(name = "eav_attribute", catalog = "magento", uniqueConstraints = @UniqueConstraint(columnNames = {
		"entity_type_id", "attribute_code" }))
public class EavAttribute implements java.io.Serializable 
{
	private static final long serialVersionUID = 121323L;

	private Short attributeId;
	private EavEntityType eavEntityType;
	private String attributeCode;
	private String attributeModel;
	private String backendModel;
	private String backendType;
	private String backendTable;
	private String frontendModel;
	private String frontendInput;
	private String frontendLabel;
	private String frontendClass;
	private String sourceModel;
	private short isRequired;
	private short isUserDefined;
	private String defaultValue;
	private short isUnique;
	private String note;
	private Set customerEntityTexts = new HashSet(0);
	private Set customerEntityDatetimes = new HashSet(0);
	private Set eavEntityAttributes = new HashSet(0);
	private Set customerAddressEntityInts = new HashSet(0);
	private Set catalogProductEntityDatetimes = new HashSet(0);
	private Set catalogProductEntityMediaGalleries = new HashSet(0);
	private Set customerEavAttributeWebsites = new HashSet(0);
	private Set catalogCategoryEntityDecimals = new HashSet(0);
	private Set catalogProductIndexEavs = new HashSet(0);
	private Set customerAddressEntityVarchars = new HashSet(0);
	private Set weeeTaxes = new HashSet(0);
	private Set catalogCategoryEntityVarchars = new HashSet(0);
	private Set catalogProductEntityTexts = new HashSet(0);
	private Set customerEntityDecimals = new HashSet(0);
	private Set eavAttributeLabels = new HashSet(0);
	private Set customerAddressEntityDatetimes = new HashSet(0);
	private Set customerAddressEntityDecimals = new HashSet(0);
	private Set eavAttributeOptions = new HashSet(0);
	private Set catalogProductEntityDecimals = new HashSet(0);
	private Set catalogCategoryEntityInts = new HashSet(0);
	private Set catalogCategoryEntityDatetimes = new HashSet(0);
	private CatalogEavAttribute catalogEavAttribute;
	private Set customerEntityVarchars = new HashSet(0);
	private Set catalogCategoryEntityTexts = new HashSet(0);
	private Set catalogProductIndexEavDecimals = new HashSet(0);
	private Set customerEntityInts = new HashSet(0);
	private Set catalogProductEntityGalleries = new HashSet(0);
	private Set customerFormAttributes = new HashSet(0);
	private CustomerEavAttribute customerEavAttribute;
	private Set customerAddressEntityTexts = new HashSet(0);
	private Set salesruleProductAttributes = new HashSet(0);
	private Set catalogProductEntityInts = new HashSet(0);
	private Set catalogProductEntityVarchars = new HashSet(0);
	private Set eavFormElements = new HashSet(0);

	public EavAttribute() {
	}

	public EavAttribute(EavEntityType eavEntityType, String attributeCode,
			String backendType, short isRequired, short isUserDefined,
			short isUnique) {
		this.eavEntityType = eavEntityType;
		this.attributeCode = attributeCode;
		this.backendType = backendType;
		this.isRequired = isRequired;
		this.isUserDefined = isUserDefined;
		this.isUnique = isUnique;
	}

	public EavAttribute(EavEntityType eavEntityType, String attributeCode,
			String attributeModel, String backendModel, String backendType,
			String backendTable, String frontendModel, String frontendInput,
			String frontendLabel, String frontendClass, String sourceModel,
			short isRequired, short isUserDefined, String defaultValue,
			short isUnique, String note, Set customerEntityTexts,
			Set customerEntityDatetimes, Set eavEntityAttributes,
			Set customerAddressEntityInts, Set catalogProductEntityDatetimes,
			Set catalogProductEntityMediaGalleries,
			Set customerEavAttributeWebsites,
			Set catalogCategoryEntityDecimals, Set catalogProductIndexEavs,
			Set customerAddressEntityVarchars, Set weeeTaxes,
			Set catalogCategoryEntityVarchars, Set catalogProductEntityTexts,
			Set customerEntityDecimals, Set eavAttributeLabels,
			Set customerAddressEntityDatetimes,
			Set customerAddressEntityDecimals, Set eavAttributeOptions,
			Set catalogProductEntityDecimals, Set catalogCategoryEntityInts,
			Set catalogCategoryEntityDatetimes,
			CatalogEavAttribute catalogEavAttribute,
			Set customerEntityVarchars, Set catalogCategoryEntityTexts,
			Set catalogProductIndexEavDecimals, Set customerEntityInts,
			Set catalogProductEntityGalleries, Set customerFormAttributes,
			CustomerEavAttribute customerEavAttribute,
			Set customerAddressEntityTexts, Set salesruleProductAttributes,
			Set catalogProductEntityInts, Set catalogProductEntityVarchars,
			Set eavFormElements) {
		this.eavEntityType = eavEntityType;
		this.attributeCode = attributeCode;
		this.attributeModel = attributeModel;
		this.backendModel = backendModel;
		this.backendType = backendType;
		this.backendTable = backendTable;
		this.frontendModel = frontendModel;
		this.frontendInput = frontendInput;
		this.frontendLabel = frontendLabel;
		this.frontendClass = frontendClass;
		this.sourceModel = sourceModel;
		this.isRequired = isRequired;
		this.isUserDefined = isUserDefined;
		this.defaultValue = defaultValue;
		this.isUnique = isUnique;
		this.note = note;
		this.customerEntityTexts = customerEntityTexts;
		this.customerEntityDatetimes = customerEntityDatetimes;
		this.eavEntityAttributes = eavEntityAttributes;
		this.customerAddressEntityInts = customerAddressEntityInts;
		this.catalogProductEntityDatetimes = catalogProductEntityDatetimes;
		this.catalogProductEntityMediaGalleries = catalogProductEntityMediaGalleries;
		this.customerEavAttributeWebsites = customerEavAttributeWebsites;
		this.catalogCategoryEntityDecimals = catalogCategoryEntityDecimals;
		this.catalogProductIndexEavs = catalogProductIndexEavs;
		this.customerAddressEntityVarchars = customerAddressEntityVarchars;
		this.weeeTaxes = weeeTaxes;
		this.catalogCategoryEntityVarchars = catalogCategoryEntityVarchars;
		this.catalogProductEntityTexts = catalogProductEntityTexts;
		this.customerEntityDecimals = customerEntityDecimals;
		this.eavAttributeLabels = eavAttributeLabels;
		this.customerAddressEntityDatetimes = customerAddressEntityDatetimes;
		this.customerAddressEntityDecimals = customerAddressEntityDecimals;
		this.eavAttributeOptions = eavAttributeOptions;
		this.catalogProductEntityDecimals = catalogProductEntityDecimals;
		this.catalogCategoryEntityInts = catalogCategoryEntityInts;
		this.catalogCategoryEntityDatetimes = catalogCategoryEntityDatetimes;
		this.catalogEavAttribute = catalogEavAttribute;
		this.customerEntityVarchars = customerEntityVarchars;
		this.catalogCategoryEntityTexts = catalogCategoryEntityTexts;
		this.catalogProductIndexEavDecimals = catalogProductIndexEavDecimals;
		this.customerEntityInts = customerEntityInts;
		this.catalogProductEntityGalleries = catalogProductEntityGalleries;
		this.customerFormAttributes = customerFormAttributes;
		this.customerEavAttribute = customerEavAttribute;
		this.customerAddressEntityTexts = customerAddressEntityTexts;
		this.salesruleProductAttributes = salesruleProductAttributes;
		this.catalogProductEntityInts = catalogProductEntityInts;
		this.catalogProductEntityVarchars = catalogProductEntityVarchars;
		this.eavFormElements = eavFormElements;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "attribute_id", unique = true, nullable = false)
	public Short getAttributeId() {
		return this.attributeId;
	}

	public void setAttributeId(Short attributeId) {
		this.attributeId = attributeId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "entity_type_id", nullable = false)
	public EavEntityType getEavEntityType() {
		return this.eavEntityType;
	}

	public void setEavEntityType(EavEntityType eavEntityType) {
		this.eavEntityType = eavEntityType;
	}

	@Column(name = "attribute_code", nullable = false)
	public String getAttributeCode() {
		return this.attributeCode;
	}

	public void setAttributeCode(String attributeCode) {
		this.attributeCode = attributeCode;
	}

	@Column(name = "attribute_model")
	public String getAttributeModel() {
		return this.attributeModel;
	}

	public void setAttributeModel(String attributeModel) {
		this.attributeModel = attributeModel;
	}

	@Column(name = "backend_model")
	public String getBackendModel() {
		return this.backendModel;
	}

	public void setBackendModel(String backendModel) {
		this.backendModel = backendModel;
	}

	@Column(name = "backend_type", nullable = false, length = 8)
	public String getBackendType() {
		return this.backendType;
	}

	public void setBackendType(String backendType) {
		this.backendType = backendType;
	}

	@Column(name = "backend_table")
	public String getBackendTable() {
		return this.backendTable;
	}

	public void setBackendTable(String backendTable) {
		this.backendTable = backendTable;
	}

	@Column(name = "frontend_model")
	public String getFrontendModel() {
		return this.frontendModel;
	}

	public void setFrontendModel(String frontendModel) {
		this.frontendModel = frontendModel;
	}

	@Column(name = "frontend_input", length = 50)
	public String getFrontendInput() {
		return this.frontendInput;
	}

	public void setFrontendInput(String frontendInput) {
		this.frontendInput = frontendInput;
	}

	@Column(name = "frontend_label")
	public String getFrontendLabel() {
		return this.frontendLabel;
	}

	public void setFrontendLabel(String frontendLabel) {
		this.frontendLabel = frontendLabel;
	}

	@Column(name = "frontend_class")
	public String getFrontendClass() {
		return this.frontendClass;
	}

	public void setFrontendClass(String frontendClass) {
		this.frontendClass = frontendClass;
	}

	@Column(name = "source_model")
	public String getSourceModel() {
		return this.sourceModel;
	}

	public void setSourceModel(String sourceModel) {
		this.sourceModel = sourceModel;
	}

	@Column(name = "is_required", nullable = false)
	public short getIsRequired() {
		return this.isRequired;
	}

	public void setIsRequired(short isRequired) {
		this.isRequired = isRequired;
	}

	@Column(name = "is_user_defined", nullable = false)
	public short getIsUserDefined() {
		return this.isUserDefined;
	}

	public void setIsUserDefined(short isUserDefined) {
		this.isUserDefined = isUserDefined;
	}

	@Column(name = "default_value", length = 65535)
	public String getDefaultValue() {
		return this.defaultValue;
	}

	public void setDefaultValue(String defaultValue) {
		this.defaultValue = defaultValue;
	}

	@Column(name = "is_unique", nullable = false)
	public short getIsUnique() {
		return this.isUnique;
	}

	public void setIsUnique(short isUnique) {
		this.isUnique = isUnique;
	}

	@Column(name = "note")
	public String getNote() {
		return this.note;
	}

	public void setNote(String note) {
		this.note = note;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerEntityTexts() {
		return this.customerEntityTexts;
	}

	public void setCustomerEntityTexts(Set customerEntityTexts) {
		this.customerEntityTexts = customerEntityTexts;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerEntityDatetimes() {
		return this.customerEntityDatetimes;
	}

	public void setCustomerEntityDatetimes(Set customerEntityDatetimes) {
		this.customerEntityDatetimes = customerEntityDatetimes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getEavEntityAttributes() {
		return this.eavEntityAttributes;
	}

	public void setEavEntityAttributes(Set eavEntityAttributes) {
		this.eavEntityAttributes = eavEntityAttributes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerAddressEntityInts() {
		return this.customerAddressEntityInts;
	}

	public void setCustomerAddressEntityInts(Set customerAddressEntityInts) {
		this.customerAddressEntityInts = customerAddressEntityInts;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogProductEntityDatetimes() {
		return this.catalogProductEntityDatetimes;
	}

	public void setCatalogProductEntityDatetimes(
			Set catalogProductEntityDatetimes) {
		this.catalogProductEntityDatetimes = catalogProductEntityDatetimes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogProductEntityMediaGalleries() {
		return this.catalogProductEntityMediaGalleries;
	}

	public void setCatalogProductEntityMediaGalleries(
			Set catalogProductEntityMediaGalleries) {
		this.catalogProductEntityMediaGalleries = catalogProductEntityMediaGalleries;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerEavAttributeWebsites() {
		return this.customerEavAttributeWebsites;
	}

	public void setCustomerEavAttributeWebsites(Set customerEavAttributeWebsites) {
		this.customerEavAttributeWebsites = customerEavAttributeWebsites;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogCategoryEntityDecimals() {
		return this.catalogCategoryEntityDecimals;
	}

	public void setCatalogCategoryEntityDecimals(
			Set catalogCategoryEntityDecimals) {
		this.catalogCategoryEntityDecimals = catalogCategoryEntityDecimals;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogProductIndexEavs() {
		return this.catalogProductIndexEavs;
	}

	public void setCatalogProductIndexEavs(Set catalogProductIndexEavs) {
		this.catalogProductIndexEavs = catalogProductIndexEavs;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerAddressEntityVarchars() {
		return this.customerAddressEntityVarchars;
	}

	public void setCustomerAddressEntityVarchars(
			Set customerAddressEntityVarchars) {
		this.customerAddressEntityVarchars = customerAddressEntityVarchars;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getWeeeTaxes() {
		return this.weeeTaxes;
	}

	public void setWeeeTaxes(Set weeeTaxes) {
		this.weeeTaxes = weeeTaxes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogCategoryEntityVarchars() {
		return this.catalogCategoryEntityVarchars;
	}

	public void setCatalogCategoryEntityVarchars(
			Set catalogCategoryEntityVarchars) {
		this.catalogCategoryEntityVarchars = catalogCategoryEntityVarchars;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogProductEntityTexts() {
		return this.catalogProductEntityTexts;
	}

	public void setCatalogProductEntityTexts(Set catalogProductEntityTexts) {
		this.catalogProductEntityTexts = catalogProductEntityTexts;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerEntityDecimals() {
		return this.customerEntityDecimals;
	}

	public void setCustomerEntityDecimals(Set customerEntityDecimals) {
		this.customerEntityDecimals = customerEntityDecimals;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getEavAttributeLabels() {
		return this.eavAttributeLabels;
	}

	public void setEavAttributeLabels(Set eavAttributeLabels) {
		this.eavAttributeLabels = eavAttributeLabels;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerAddressEntityDatetimes() {
		return this.customerAddressEntityDatetimes;
	}

	public void setCustomerAddressEntityDatetimes(
			Set customerAddressEntityDatetimes) {
		this.customerAddressEntityDatetimes = customerAddressEntityDatetimes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerAddressEntityDecimals() {
		return this.customerAddressEntityDecimals;
	}

	public void setCustomerAddressEntityDecimals(
			Set customerAddressEntityDecimals) {
		this.customerAddressEntityDecimals = customerAddressEntityDecimals;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getEavAttributeOptions() {
		return this.eavAttributeOptions;
	}

	public void setEavAttributeOptions(Set eavAttributeOptions) {
		this.eavAttributeOptions = eavAttributeOptions;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogProductEntityDecimals() {
		return this.catalogProductEntityDecimals;
	}

	public void setCatalogProductEntityDecimals(Set catalogProductEntityDecimals) {
		this.catalogProductEntityDecimals = catalogProductEntityDecimals;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogCategoryEntityInts() {
		return this.catalogCategoryEntityInts;
	}

	public void setCatalogCategoryEntityInts(Set catalogCategoryEntityInts) {
		this.catalogCategoryEntityInts = catalogCategoryEntityInts;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogCategoryEntityDatetimes() {
		return this.catalogCategoryEntityDatetimes;
	}

	public void setCatalogCategoryEntityDatetimes(
			Set catalogCategoryEntityDatetimes) {
		this.catalogCategoryEntityDatetimes = catalogCategoryEntityDatetimes;
	}

	@OneToOne(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public CatalogEavAttribute getCatalogEavAttribute() {
		return this.catalogEavAttribute;
	}

	public void setCatalogEavAttribute(CatalogEavAttribute catalogEavAttribute) {
		this.catalogEavAttribute = catalogEavAttribute;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerEntityVarchars() {
		return this.customerEntityVarchars;
	}

	public void setCustomerEntityVarchars(Set customerEntityVarchars) {
		this.customerEntityVarchars = customerEntityVarchars;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogCategoryEntityTexts() {
		return this.catalogCategoryEntityTexts;
	}

	public void setCatalogCategoryEntityTexts(Set catalogCategoryEntityTexts) {
		this.catalogCategoryEntityTexts = catalogCategoryEntityTexts;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogProductIndexEavDecimals() {
		return this.catalogProductIndexEavDecimals;
	}

	public void setCatalogProductIndexEavDecimals(
			Set catalogProductIndexEavDecimals) {
		this.catalogProductIndexEavDecimals = catalogProductIndexEavDecimals;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerEntityInts() {
		return this.customerEntityInts;
	}

	public void setCustomerEntityInts(Set customerEntityInts) {
		this.customerEntityInts = customerEntityInts;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogProductEntityGalleries() {
		return this.catalogProductEntityGalleries;
	}

	public void setCatalogProductEntityGalleries(
			Set catalogProductEntityGalleries) {
		this.catalogProductEntityGalleries = catalogProductEntityGalleries;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerFormAttributes() {
		return this.customerFormAttributes;
	}

	public void setCustomerFormAttributes(Set customerFormAttributes) {
		this.customerFormAttributes = customerFormAttributes;
	}

	@OneToOne(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public CustomerEavAttribute getCustomerEavAttribute() {
		return this.customerEavAttribute;
	}

	public void setCustomerEavAttribute(
			CustomerEavAttribute customerEavAttribute) {
		this.customerEavAttribute = customerEavAttribute;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCustomerAddressEntityTexts() {
		return this.customerAddressEntityTexts;
	}

	public void setCustomerAddressEntityTexts(Set customerAddressEntityTexts) {
		this.customerAddressEntityTexts = customerAddressEntityTexts;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getSalesruleProductAttributes() {
		return this.salesruleProductAttributes;
	}

	public void setSalesruleProductAttributes(Set salesruleProductAttributes) {
		this.salesruleProductAttributes = salesruleProductAttributes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogProductEntityInts() {
		return this.catalogProductEntityInts;
	}

	public void setCatalogProductEntityInts(Set catalogProductEntityInts) {
		this.catalogProductEntityInts = catalogProductEntityInts;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getCatalogProductEntityVarchars() {
		return this.catalogProductEntityVarchars;
	}

	public void setCatalogProductEntityVarchars(Set catalogProductEntityVarchars) {
		this.catalogProductEntityVarchars = catalogProductEntityVarchars;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "eavAttribute")
	public Set getEavFormElements() {
		return this.eavFormElements;
	}

	public void setEavFormElements(Set eavFormElements) {
		this.eavFormElements = eavFormElements;
	}

}
